With the migration of the service industry to on-demand solutions, access to information technology (IT) applications and computing resources is increasingly being offered through centralized utilities. One of the benefits of centralized utilities is that consumers have access to an increased variety and amount of resources. Similarly, centralized utilities allow the providers to benefit from the economy of scale in offering similar utility resources to a plurality of consumers. These benefits are not limited to utilities and apply to any type of centralized service used by the consumers on as needed basis. Because the centralized services are available to the consumers at any time, the centralized services are known as on demand services (ODSs).
ODSs exist for both business-to-business and business-to-consumer transactions. For example, a client business may outsource their email account services to an ODS provider. Outsourcing the email account services allows the client to have email accounts for their employees without having to hire the technical support staff or purchase and maintain the servers and other hardware required to provide email to their employees. Instead, the ODS provider would hire the technical support staff and purchase and maintain the servers and other hardware required to provide email to the client's employees. The ODS provider would charge the client a fee for providing the email account services. The fee would be based on the number of email transactions, memory usage, and CPU usage by the client's employees. Both parties benefit from this arrangement because the client can focus their resources on its core business activities without having to worry about email account services and the ODS provider can concentrate on providing email account services to its clients.
In a business-to-consumer setting, an ODS may provide a website to help a user prepare his annual income tax return. In that setting, the ODS would charge the user a fee based upon the number of forms the user accessed and/or filed, the number of times the user accessed the help features on the webpage, the total time the user was on the website, and whether the website filed the return for the user. As with the business-to-business ODS, the business-to-consumer ODS benefits both the ODS provider and the end user. The end user benefits by getting access to automated services which would otherwise not be available to him. The ODS provider benefits by concentrating on providing sound tax advice and tax return preparation.
One of the most important aspects of providing any ODS is metering. Metering is the process of measuring the ODS user's consumption of the individual resources offered by the ODS provider. For example, in the email account example above, the ODS provider must meter the client's usage of memory, CPU processing power, and transmission of email messages. In the income tax return website example above, the ODS must meter the client's use of tax forms accessed, tax forms filed, help pages accessed, total logged on time, and whether the website filed the return for the user. Metering can also be used to optimize the ODS provider's internal allocation of resources. For example, the ODS provider can meter its clients' consumption of resources and reconfigure resources as they are needed by the clients. The ODS provider can also bring additional resources online only when the resources are needed by the clients with concomitant financial savings.
Although the two look similar, metering differs from monitoring as outlined in Table 1.
TABLE 1MonitoringMeteringMonitoring makes observations.Metering also makes observations,but the data collected and thefrequency of collection can bedifferent.Monitoring is essentially checkingMetering is essentiallyfor something (i.e. comparing acounting something.measurement against somepredefined value or condition).Monitoring includes rules toMetering does not interpret or judgeinterpret and judge the observedthe observed event. Meteringevent.produces an output that isconsumed by other modules.Monitoring summarizes data andMetering may have to retaindiscards original observationsoriginal observations for auditing orquickly.billing purposes. This hasimplications to both storageand data transmission.Monitoring output for a sharedMetering a shared resource typicallyresource typically does not tieties measurements to a usermeasurements to a useror account.or account.Monitoring may have moreMetering may have real-timestringent real-time requirementsrequirements also, but typicallythan metering.not as stringent monitoring.The most distinguishing feature of metering is the ability to discern between individual client's usages of particular resources. For example, the metering module must be able to determine that client A is using 20 GB of memory and sent 5,000 email messages, while client B simultaneously is using 40 GB of memory and sent 7,000 email messages. Additionally, the metering module must be able to record the substance of every email message sent and the amount of memory and processing power used by the clients. Thus, the metering module's task is considerably more complex than merely observing the consumption of resources.
There are several needs specific to the metering module. The metering must be accurate so that the ODS provider can bill the client the appropriate amount for the service. The metering must be dynamic so that, if desired, the client can pay for the services at the conclusion of the client's use of the ODS resources. The metering must also be thorough in that it must record the specifics of all of the client's transactions so that the billing amount can be verified, if disputed. The metering must also be flexile so that a new metering engine is not required every time the ODS provider adds a new ODS resource to its list of offered ODS resources. Therefore, a need exists for an accurate, dynamic, thorough, and flexible metering engine for use in the ODS environment.